<template>

    <!-- <div>
        {{ name }}
    </div> -->
    <!-- <div>
        <button @click="send">派发</button>
    </div> -->
    <div v-for="(item, index) in data">
        <slot :index="index" :item="item"></slot>
    </div>

</template>

<script generic="T,K, " setup lang='ts'>
// props
// import { ref, PropType } from 'vue';
// const props = defineProps({
//     name: {
//         type: Array as PropType<string[]>,
//         required: true
//     }
// })
// props.name
// const props=defineProps<{
//     name: string[]
// }>()
// props.name

// defineProps<{
//     name: T[]
// }>()

// emit
// const emit = defineEmits(['send'])
// const emit =defineEmits<{
//     (event:string,name:string):void
// }>()

// const emit = defineEmits<{
//     'send': [name: string]
// }>()
// const send = () => {
//     emit('send', 'hello')
// }

// options API
defineOptions({
    name: 'xm',
    // inheritAttrs为false，则父组件的属性不会传递给子组件
    inheritAttrs: false,
})

// slots
defineProps<{
    data: T[]
}>()
defineSlots<{
    default(props: { item: T, index: number }): void
}>()

</script>
<style scoped></style>